<?php

abstract class AbstractTWLSitePage {

    abstract public function getTitle();

    abstract protected function getControllerName();

    abstract public function getPageParameter($name);

    /**
     * @return AbstractTWLPageController
     */
    public function getController() {

        $controllerName = $this->getControllerName();
        if (!$controllerName) $controllerName = 'default';

        $className = $controllerName . 'PageController';
        $oController = new $className($this);

        return $oController;
    }

    public function getUrl() { return '/'; }
}

?>